//#pragma GCC optimize ("O3")
#include <iostream>
#include <algorithm>
using namespace std;
void solve() {
using ll = long long;
auto min_val{[](int d) {
ll mn{1};
for (int i{1}; i < d; ++i) mn *= 10;
return mn;
}};
auto max_val{[](int d) {
ll mx{};
for (int i{0}; i < d; ++i) mx = (mx * 10) + 9;
return mx;
}};
int a, b, c; ll k;
cin >> a >> b >> c >> k;
ll mna{min_val(a)}, mnb{min_val(b)}, mnc{min_val(c)};
ll mxa{max_val(a)}, mxb{max_val(b)}, mxc{max_val(c)};
for (ll i{max(mna, mnc - mxb)}; i <= min(mxa, mxc - mnb); ++i) {
ll mn{max(mnb, mnc - i)}, mx{min(mxb, mxc - i)};
if (k <= mx - mn + 1) {
cout << i << " + " << mn + k - 1 << " = " << (i + mn + k - 1) << '\n';
return ;
} else k -= mx - mn + 1;
}
cout << "-1\n";
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t{1};
cin >> t;
while (t--) solve();
}
1A - Theatre Square | 1614B - Divan and a New Project |
791A - Bear and Big Brother | 1452A - Robot Program |
344A - Magnets | 96A - Football |
702B - Powers of Two | 1036A - Function Height |
443A - Anton and Letters | 1478B - Nezzar and Lucky Number |
228A - Is your horseshoe on the other hoof | 122A - Lucky Division |
1611C - Polycarp Recovers the Permutation | 432A - Choosing Teams |
758A - Holiday Of Equality | 1650C - Weight of the System of Nested Segments |
1097A - Gennady and a Card Game | 248A - Cupboards |
1641A - Great Sequence | 1537A - Arithmetic Array |
1370A - Maximum GCD | 149A - Business trip |
34A - Reconnaissance 2 | 59A - Word |
462B - Appleman and Card Game | 1560C - Infinity Table |
1605C - Dominant Character | 1399A - Remove Smallest |
208A - Dubstep | 1581A - CQXYM Count Permutations |